protocol race_ViolateSameDirection {
child:
    async Msg1();
    async Msg1_();
    async __delete__();
    async suppressUndeleteableError();
parent:
    async Msg2();
    async Msg2_();

    // *** ERROR: state S7 doesn't have all-same-direction
start state _:
    send __delete__;
    send suppressUndeleteableError goto S6;

state S6:
    send Msg1 goto S7;
    recv Msg2 goto S8;

state S7:
    recv Msg2 goto S9;
    send Msg1 goto S9;

state S8:
    send Msg1 goto S9;

state S9:
    send Msg1 goto S9;
    recv Msg2 goto S9;
};
